

#ifndef __CCE_MATERIAL_MATERIALTEXTURETREEMODEL_H__
#define __CCE_MATERIAL_MATERIALTEXTURETREEMODEL_H__

#include <material/materialmanager.h>
#include <qabstractitemmodel.h>

class cceMaterialTextureTreeModel : public QAbstractItemModel
{
  Q_OBJECT
public:
  enum Columns
  {
    Column_Name,
    Column_COUNT
  };

private:
  cceMaterialManager*	_mgr;

private slots:
  void ResetContent ();

public:
  cceMaterialTextureTreeModel (cceMaterialManager* mgr);

  int columnCount (const QModelIndex &parent = QModelIndex()) const;
  QVariant data (const QModelIndex &index, int role = Qt::DisplayRole) const;
  QModelIndex index (int row, int column, const QModelIndex &parent = QModelIndex()) const;
  QModelIndex parent (const QModelIndex &index) const;
  int rowCount (const QModelIndex &parent = QModelIndex()) const;
  Qt::ItemFlags flags (const QModelIndex& index) const;


  QString GetTextureName (unsigned row) const;

  QMimeData* mimeData (const QModelIndexList &indexes) const;

  QVariant headerData (int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
};


#endif /* ! __CCE_MATERIAL_MATERIALPROGRAMTREEMODEL_H__ */

